package com.hjb.service.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.hjb.service.domain.siteuseraccount.SiteUserAccount;
import com.hjb.service.domain.siteuseraccount.SiteUserAccountExample;
import com.hjb.service.mybatis.BaseMapper;

public interface SiteUserAccountMapper extends BaseMapper<SiteUserAccount> {
    int countByExample(SiteUserAccountExample example);

    int deleteByExample(SiteUserAccountExample example);

    List<SiteUserAccount> selectByExample(SiteUserAccountExample example);

    int updateByExampleSelective(@Param("record") SiteUserAccount record, @Param("example") SiteUserAccountExample example);

    int updateAccountExample(@Param("record") SiteUserAccount record, @Param("example") SiteUserAccountExample example);
    
    /**
     * 更新活期账户，记日志
     * @param params
     * @return
     */
    int updateCurrentBalance(Map<String,Object> params);
    
    /**
     * 更新冻结账户
     * @param params
     * @return
     */
    int updateFrozenAccount(Map<String,Object> params);
    
    /**
     * 更新体验金账户
     * @param params
     * @return
     */
    int updateExperienceAccount(Map<String,Object> params);
    
    /**
     * 更新活期账户、总资产
     * @param params
     * @return
     */
    int updateCurrentAndTotalAsset(Map<String,Object> params);
    
    /**
     * 更新活期账户，发放活期收益
     * @param params
     * @return
     */
    int updateCurrentAccountByUserId(Map<String,Object> params);
    
    /**
     * 更新账户收益，体验金收益发放
     * @param params
     * @return
     */
    int updateAccountByExperience(Map<String,Object> params);
    
    /**
     * 更新定期账户
     * @param params
     * @return
     */
    int updateAccountByFixed(Map<String,Object> params);
}